package tech.aistar.design.proxy.statics;

/**
 * 本类用来演示: 目标对象
 *
 * @author: success
 * @date: 2021/3/25 2:04 下午
 */
public class UserDaoImpl implements IUserDao{
    @Override
    public void add() {
        //后期业务升级,需要增加日志记录的功能...
        //解决方案1 - 在各自的实现类中的实现方法中直接增加额外的功能
        //缺点:
        //1. 违背了软件开发的"开闭原则"
        //2. 日志功能属于与核心业务无关的功能,将核心功能和非核心功能冗合在一块儿,
        //   导致代码比较臃肿,不便于后期的维护
        //3. 日志功能需要升级了,修改的地方比较多,不便于后期的维护
        //System.out.println("[日志]目标方法运行之前");
        System.out.println("add...");
        //System.out.println("[日志]目标方法之后");
    }

    @Override
    public void find() {
        //System.out.println("[日志]目标方法运行之前");
        System.out.println("find...");
        //System.out.println("[日志]目标方法运行之后");
    }
}
